﻿using Grow.WebAPI.CreateWebAPI;

namespace Grow.WebAPI.MiniAPI.CreateWebAPI
{
    public class CreateWebAPIBuilder : ICreateWebAPIBuilder
    {
        private readonly List<IWebAPIMap> _webAPIMaps;
        public CreateWebAPIBuilder()
        {
            _webAPIMaps = new();
        }

        public ICreateWebAPIBuilder AddWebAPIMap<TWebAPIMap>() where TWebAPIMap : IWebAPIMap, new()
        {
            TWebAPIMap webAPIMap = new();
            if (!_webAPIMaps.Contains(webAPIMap))
            {
                _webAPIMaps.Add(webAPIMap);
            }
            return this;
        }

        public IEnumerable<IWebAPIMap> GetWebAPIMaps()
        {
            return _webAPIMaps;
        }

    }
}

